import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;

/*
使用TCP网络编程完成用户登录功能：客户端输入用户名和密码，向服务器发出登录请求；
服务器接收数据并进行判断，如果用户名和密码均是admin，则登录成功，否则登录失败，返回相应响应信息；
客户端接收响应信息并输出登录结果。

1)用户User类已提供构造方法 public User(String username,String password)。

2)客户端采用ObjectOutputStream发送封装了用户名和密码的User对象。

3)服务器端和客户端的类名和方法声明如下所示。
public class LoginServer {
	public static void main(String[] args) throws Exception {}
}

public class LoginClient {
	public static void main(String[] args) throws Exception {}
}
 */
public class LoginClient {
    public static void main(String[] args) throws IOException {
        //创建用户
        User user = new User("admin", "admin");

        //发送
        // - 创建客户端socket对象
        Socket socket = new Socket("127.0.0.1", 8888);
        // - 从socket中获取输入输出流
        OutputStream out = socket.getOutputStream();
        // - 利用输入输出流进行读写操作
        Scanner sc = new Scanner(System.in);
        //String str = sc.nextLine();
        //out.write(str.getBytes());
        //采用ObjectOutputStream发送封装了用户名和密码的User对象
        ObjectOutputStream objectOutputStream = new ObjectOutputStream(out);
        objectOutputStream.writeObject(user);
      /*  // - close
        objectOutputStream.close();*/

        //接受反馈信息
        InputStream in = socket.getInputStream();
        // - 利用输入输出流进行读写操作
        byte[] bytes = new byte[1024];
        int readCount = in.read(bytes);
        System.out.println(new String(bytes,0,readCount));
        // - close
        socket.close();

    }
}
